interface Date {
  Format: any
}
Date.prototype.Format = function(fmtParams: string) {
  let fmt = fmtParams
  const o = {
    'M+': this.getMonth() + 1, // 月份
    'd+': this.getDate(), // 日
    'H+': this.getHours(), // 小时
    'm+': this.getMinutes(), // 分
    's+': this.getSeconds(), // 秒
    'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
    'S': this.getMilliseconds(), // 毫秒
  };
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  type K = keyof typeof o;
  Object.keys(o).forEach((k: string) => {
    if (new RegExp(`(${k})`).test(fmt)) {
      const rp = RegExp.$1.length === 1 ? o[k as K] : (`00${o[k as K]}`).substr((o[k as K].toString()).length)
      fmt = fmt.replace(RegExp.$1, rp.toString())
    }
  })
  return fmt;
}

